// 使用配置文件规则
// import VueRouter from 'vue-router'  //vue路由
// import routes from '../router' // 引用路由配置文件
import webStorage from './webStorage'
import {httpReq} from './http'
import {MethodList} from './api'

export class VueConfig {
    /**
     *  用来进行Vue中的各种配置
     * @param Vue  main.js 引入的VUE对象
     */
    constructor() {
        // console.log("Vue", Vue)
        // this.vue = Vue;
        //设置开发模式
        // Vue.config.productionTip = true;

    }
    //
    // /***
    //  * 设置vue2.x路由
    //  * @returns {VueRouter}
    //  * @constructor
    //  */
    // SetVueRouter() {
    //     let Vue = this.vue;
    //     Vue.use(VueRouter);
    //     const router = new VueRouter({
    //         routes
    //     });
    //     //vue登录逻辑
    //     router.beforeEach(function (to, form, next) {
    //         if (to["path"] === "/login") {   //只有需要登录时候才跳转到登陆页面
    //             if (webStorage.sessionGet(webStorage.GetSessionAuthStateKeyName())) {
    //                 return next({path: "/"});
    //             }
    //             return next()
    //         }
    //         if (!webStorage.sessionGet(webStorage.GetSessionAuthStateKeyName())) {
    //             return next({path: "/login"});
    //         }
    //         next();
    //     });
    //     console.log("设置路由完成..");
    //     return router
    // }

    /***
     * 挂载 axios到vue2.x
    //  */
    // moutAxiosToVue() {
    //     this.vue.prototype.$ajax = function (MethodStr, paramsData, successCallback, failureCallBack, errorCallback) {
    //         let http = new httpReq();
    //         let methodList = new MethodList();
    //         let postData = http.httpReqStruct(methodList.Get(MethodStr));
    //         postData.params = paramsData;
    //         // console.log("postData",postData)
    //         http.post(postData, successCallback, failureCallBack, errorCallback)
    //     }
    // }

    /***
     * vue3 临时使用
     */
   static mountAxiosToVue3() {
        return function (MethodStr, paramsData, successCallback, failureCallBack, errorCallback) {
            let http = new httpReq();
            let methodList = new MethodList();
            let postData = http.httpReqStruct(methodList.Get(MethodStr));
            postData.params = paramsData;
            // console.log("postData",postData)
            http.post(postData, successCallback, failureCallBack, errorCallback)
        }
    }

    /***
     * 挂载web存储到vue
     */
    // mountWebStorage() {
    //     this.vue.prototype.$webStorage = webStorage
    // }
    static mountWebStorageVue3(){
        return webStorage
    }
}





